ഗണിതശാസ്ത്രപരവും എഞ്ചിനീയറിംഗ്പരവുമായ ആപ്ലിക്കേഷനുകൾക്കായി, അടിസ്ഥാന ഗണിതം മുതൽ പോളാർ രൂപത്തിന്റെ മനോഹാരിത വരെ, പൈത്തണിന്റെ കോംപ്ലക്സ് സംഖ്യാ ശേഷികൾ പഠിക്കുക.
പൈത്തൺ കോംപ്ലക്സ് നമ്പറുകൾ: ഗണിത ക്രിയകളും പോളാർ രൂപവും
ഗണിതശാസ്ത്രത്തിലും ശാസ്ത്രീയ കമ്പ്യൂട്ടിംഗിലും കോംപ്ലക്സ് നമ്പറുകൾ അടിസ്ഥാനപരമാണ്. i² = -1 എന്നimaginary യൂണിറ്റ് i ഉൾപ്പെടുത്തി അവ वास्तविक സംഖ്യകളുടെ ആശയം വിപുലീകരിക്കുന്നു. ആഗോള വ്യവസായങ്ങളിലും അക്കാദമിക് പഠനങ്ങളിലും വ്യാപകമായി സ്വീകരിക്കപ്പെടുന്ന വൈവിധ്യമാർന്ന പ്രോഗ്രാമിംഗ് ഭാഷയായ പൈത്തൺ, சிக்கலான ഗണിതപരമായ പ്രവർത്തനങ്ങൾ എളുപ്പവും കാര്യക്ഷമവുമാക്കുന്നതിന് കോംപ്ലക്സ് നമ്പറുകൾക്ക് ശക്തമായ പിന്തുണ നൽകുന്നു.
ഈ സമഗ്രമായ ഗൈഡ്, പൈത്തൺ കോംപ്ലക്സ് നമ്പറുകളെ എങ്ങനെ കൈകാര്യം ചെയ്യുന്നു എന്ന് വിശദീകരിക്കുന്നു. அவற்றின் സാധാരണ বীজगणিত பிரதிநிதித்துவവും ശക്തമായ പോളാർ രൂപവും എങ്ങനെയെന്ന് പരിശോധിക്കുന്നു. സിഗ്നൽ പ്രോസസ്സിംഗ് മുതൽ ക്വാണ്ടം മെക്കാനിക്സ് വരെയുള്ള വിവിധ ആപ്ലിക്കേഷനുകളിൽ കോംപ്ലക്സ് നമ്പറുകളെക്കുറിച്ച് കൂടുതൽ உள்ளுணர்வுள்ள புரிதலுக்கும் கையாளுதலுக்கும் പോളാർ കോർഡിനേറ്റുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്നും ഞങ്ങൾ വ്യക്തമാക്കും.
പൈത്തണിലെ കോംപ്ലക്സ് നമ്പറുകളെക്കുറിച്ച് മനസ്സിലാക്കുക
ഒരു കോംപ്ലക്സ് സംഖ്യയെ பொதுவாக a + bi രൂപത്തിൽ ദീർഘചതുരാകൃതിയിലുള്ള രൂപത്തിൽ (അല്ലെങ്കിൽ കാർട്ടீசியൻ രൂപം) வெளிப்படுத்தப்படுகிறது. ഇവിടെ a என்பது உண்மையான பகுதியையும் b கற்பனைப் பகுதியையும் குறிக்கிறது. மின் பொறியியல் சூழல்களில் மின்னோட்டத்துடன் குழப்பம் ஏற்படுவதைத் தவிர்ப்பதற்காக j ஐப் பயன்படுத்துகிறது. இருப்பினும், மின் பொறியியல் சூழல்களில் மின்னோட்டத்துடன் குழப்பம் ஏற்படுவதைத் தவிர்ப்பதற்காக j ஐப் பயன்படுத்துகிறது.
പൈത്തണിൽ കോംപ്ലക്സ് നമ്പറുകൾ உருவாக்குക്കുന്നു
പൈത്തണിൽ ഒരു കോംപ്ലക്സ് നമ്പർ உருவாக்குவது ലളിതമാണ്. நீங்கள் உள்ளமைக்கப்பட்ட complex()
செயல்பாட்டைப் பயன்படுத்தலாம் அல்லது நேரடியாக a + bj தொடரியல் பயன்படுத்தலாம்.
complex()
செயல்பாட்டைப் பயன்படுத்துதல்:
complex()
ഫംഗ്ഷൻ രണ്ട് ആർഗ്യുമെന്റുകൾ എടുക്കാം: യഥാർത്ഥ ഭാഗവും സാങ്കൽപ്പിക ഭാഗവും. ஒரு ആർഗ്യുമെന്റ് மட்டும் வழங்கப்பட்டால், அது உண்மையான பகுதியாகக் கருதப்படும், மற்றும் கற்பனையான பகுதி பூஜ்ஜியமாக மாறும். எந்த ஆர்கியூமென்டும் கொடுக்கப்படாவிட்டால், அது 0j ஐ உருவாக்குகிறது.
# Creating complex numbers using complex()
complex_num1 = complex(3, 5) # Real part 3, Imaginary part 5
print(f"Complex number 1: {complex_num1}")
complex_num2 = complex(7) # Real part 7, Imaginary part 0
print(f"Complex number 2: {complex_num2}")
complex_num3 = complex(0, -2) # Real part 0, Imaginary part -2
print(f"Complex number 3: {complex_num3}")
complex_num4 = complex() # Real part 0, Imaginary part 0
print(f"Complex number 4: {complex_num4}")
- a + bj தொடரியலைப் பயன்படுத்துதல்:
പൈത്തണில் കോംപ്ലക്സ് നമ്പറുകളെ வரையறுக்க இது மிகவும் பொதுவான மற்றும் அடிக்கடி படிக்க எளிதான வழியாகும்.
# Creating complex numbers using a + bj syntax
complex_num_a = 4 + 6j
print(f"Complex number A: {complex_num_a}")
complex_num_b = -2 - 3j
print(f"Complex number B: {complex_num_b}")
complex_num_c = 9j # Real part is 0
print(f"Complex number C: {complex_num_c}")
complex_num_d = 1 + 1j # Equivalent to 1 + j
print(f"Complex number D: {complex_num_d}")
உண்மையான மற்றும் கற்பனைப் பகுதிகளை அணுகுதல்
உங்களிடம் ஒரு சிக்கலான எண் பொருள் இருந்தால், முறையே .real
மற்றும் .imag
பண்புகளைப் பயன்படுத்தி அதன் உண்மை மற்றும் கற்பனை கூறுகளை எளிதாக அணுகலாம். ഈ பண்புகள் எப்போதும் மிதக்கும் புள்ளி எண்களை வழங்கும்.
my_complex = 5.5 + 2.3j
print(f"The complex number is: {my_complex}")
print(f"Real part: {my_complex.real}")
print(f"Imaginary part: {my_complex.imag}")
சிக்கலான எண்களின் வகை
Python's complex number type is distinct. type()
ஐப் பயன்படுத்தி அதன் வகையை நீங்கள் சரிபார்க்கலாம்.
z = 3 + 4j
print(f"Type of z: {type(z)}")
செவ்வக வடிவத்தில் சிக்கலான எண்களுடன் கணித செயல்பாடுகள்
Python சிக்கலான எண்களில் நேரடியாக தரநிலையான கணித செயல்பாடுகளை ஆதரிக்கிறது, இது கணித கணக்கீடுகளை உள்ளுணர்வுள்ளதாக்குகிறது. ഈ செயல்பாடுகளின் முடிவுகளும் சிக்கலான எண்கள்தான்.
கூட்டல் மற்றும் கழித்தல்
சிக்கலான எண்களைச் சேர்ப்பது அல்லது கழிப்பது என்பது அவற்றின் தொடர்புடைய உண்மை மற்றும் கற்பனைப் பகுதிகளைச் சேர்ப்பது அல்லது கழிப்பதை உள்ளடக்குகிறது.
சூத்திரம்:
(a + bi) + (c + di) = (a + c) + (b + d)i
(a + bi) - (c + di) = (a - c) + (b - d)i
z1 = 2 + 3j
z2 = 1 - 5j
# Addition
sum_result = z1 + z2
print(f"{z1} + {z2} = {sum_result}")
# Subtraction
diff_result = z1 - z2
print(f"{z1} - {z2} = {diff_result}")
பெருக்கல்
சிக்கலான எண்களைப் பெருக்குவது விநியோகச் சொத்தை பின்பற்றுகிறது, j² = -1 என்பதை நினைவில் கொள்க.
சூத்திரம்:
(a + bi) * (c + di) = ac + adi + bci + bdi² = (ac - bd) + (ad + bc)i
z1 = 2 + 3j
z2 = 1 - 5j
# Multiplication
prod_result = z1 * z2
print(f"{z1} * {z2} = {prod_result}")
பிரிவு
சிக்கலான எண்களின் பிரிவில், தொகுதியையும் வகுப்பையும் வகுப்பியின் இணைப்பால் பெருக்கி வகுப்பியை பகுத்தறிவு செய்வது அடங்கும்.
சூத்திரம்:
(a + bi) / (c + di) = ((a + bi) * (c - di)) / ((c + di) * (c - di)) = ((ac + bd) + (bc - ad)i) / (c² + d²)
z1 = 2 + 3j
z2 = 1 - 5j
# Division
div_result = z1 / z2
print(f"{z1} / {z2} = {div_result}")
# Division by zero will raise a ZeroDivisionError
# zero_complex = 0 + 0j
# print(z1 / zero_complex)
இணை
ஒரு சிக்கலான எண்ணின் இணை a + bj என்பது a - bj ஆகும். Python இல், .conjugate()
முறை சிக்கலான இணைப்பை வழங்கும்.
z = 4 + 7j
conjugate_z = z.conjugate()
print(f"The conjugate of {z} is {conjugate_z}")
அளவு (முழுமையான மதிப்பு)
சிக்கலான எண்ணின் அளவு அல்லது முழுமையான மதிப்பு a + bj என்பது சிக்கலான விமானத்தில் தோற்றத்திலிருந்து அதன் தூரம், sqrt(a² + b²) என கணக்கிடப்படுகிறது. Python இன் உள்ளமைக்கப்பட்ட abs()
செயல்பாடு இதை கணக்கிடுகிறது.
சூத்திரம்:
|a + bi| = sqrt(a² + b²)
z = 3 + 4j
magnitude_z = abs(z)
print(f"The magnitude of {z} is {magnitude_z}")
சிக்கலான எண் அடுக்குப் பெருக்கல்
சிக்கலான எண்ணை ஒரு சக்திக்கு உயர்த்துவதும் ஆதரிக்கப்படுகிறது. முழு சக்திக்கு, இது நேரடியானது. பின்ன அல்லது சிக்கலான சக்திகளுக்கு, முடிவுகள் பல மதிப்புடையதாக இருக்கலாம் மற்றும் பொதுவாக மடக்கைகளைப் பயன்படுத்தி கையாளப்படுகின்றன.
z = 1 + 1j
# Squaring a complex number
squared_z = z ** 2
print(f"{z} squared is {squared_z}")
# Raising to a higher power
cubed_z = z ** 3
print(f"{z} cubed is {cubed_z}")
# Fractional power (can lead to multiple results)
# Python typically returns the principal value
sqrt_z = z ** 0.5
print(f"The square root of {z} is (principal value) {sqrt_z}")
துருவ வடிவத்தின் சக்தி
செவ்வக வடிவம் (a + bj) அடிப்படை எண்கணிதத்திற்கு உள்ளுணர்வு உள்ளதாக இருந்தாலும், துருவ வடிவம் சுழற்சி, பெருக்கல், பிரிவு மற்றும் அடுக்குப் பெருக்கலைப் புரிந்துகொள்வதில் குறிப்பிடத்தக்க நன்மைகளை வழங்குகிறது, குறிப்பாக பொறியியல் மற்றும் இயற்பியலில்.
ஒரு சிக்கலான எண்ணையும் துருவ வடிவத்தில் r(cos θ + i sin θ), அல்லது யூலரின் சூத்திரத்தைப் பயன்படுத்தி மிகவும் சுருக்கமாக, reiθ என குறிப்பிடலாம். இங்கே:
- r (தொகுதி): தோற்றத்திலிருந்து தூரம் அல்லது அளவு (முன்னர் கணக்கிடப்பட்ட முழுமையான மதிப்புக்கு சமம்).
- θ (விவாதம்): தோற்றத்திலிருந்து சிக்கலான எண்ணுக்கு கோட்டுப் பிரிவு செய்யும் கோணம் (ரேடியன்களில்) நேர்மறை உண்மையான அச்சுடன் இருக்கும்.
செவ்வகத்திலிருந்து துருவ வடிவத்திற்கு மாற்றுதல்
சிக்கலான எண் z = a + bj கொடுக்கப்பட்டால், அதை துருவ வடிவத்திற்கு மாற்றலாம்:
- தொகுதி (r):
r = abs(z)
- விவாதம் (θ):
θ = atan2(b, a)
.math
தொகுதியில் (அல்லதுcmath
) இருந்துatan2(y, x)
செயல்பாடு முக்கியமானது, ஏனெனில் இது எளியatan(b/a)
போலல்லாமல் நான்கு காலாண்டுகளிலும் கோணத்தை சரியாக தீர்மானிக்கிறது.
Python இன் cmath
தொகுதி துருவ ஒருங்கிணைப்புகளுடன் நேரடியாக வேலை செய்வதற்கான செயல்பாடுகளை வழங்குகிறது.
import cmath
z_rect = 3 + 4j
# Convert to polar coordinates
polar_coords = cmath.polar(z_rect)
radius = polar_coords[0] # This is 'r'
angle_radians = polar_coords[1] # This is 'theta'
print(f"Rectangular: {z_rect}")
print(f"Polar: Radius = {radius:.2f}, Angle (radians) = {angle_radians:.2f}")
# For degrees, convert radians to degrees
angle_degrees = cmath.degrees(angle_radians)
print(f"Polar: Angle (degrees) = {angle_degrees:.2f}")
துருவத்திலிருந்து செவ்வக வடிவத்திற்கு மாற்றுதல்
துருவ வடிவத்தில் r(cos θ + i sin θ) அல்லது reiθ உள்ள சிக்கலான எண் கொடுக்கப்பட்டால், அதை மீண்டும் செவ்வக வடிவத்திற்கு மாற்றலாம்:
- உண்மையான பகுதி (a):
a = r * cos(θ)
- கற்பனைப் பகுதி (b):
b = r * sin(θ)
Python's cmath
தொகுதியில் இதற்கு cmath.rect()
செயல்பாடு உள்ளது.
import cmath
radius = 5.0
angle_radians = 0.927 # Approximately 53.13 degrees
# Convert from polar to rectangular coordinates
rectangular_coords = cmath.rect(radius, angle_radians)
print(f"Polar: Radius = {radius}, Angle (radians) = {angle_radians:.2f}")
print(f"Rectangular: {rectangular_coords}")
# Using degrees with cmath.rect is not direct; convert degrees to radians first
angle_degrees_example = 45.0
angle_radians_example = cmath.radians(angle_degrees_example)
rect_from_deg = cmath.rect(1.0, angle_radians_example)
print(f"Polar (45 deg): {rect_from_deg}")
துருவ வடிவத்தில் செயல்பாடுகள்
பெருக்கல், பிரிவு மற்றும் அடுக்கு விரிவாக்கம் ஆகியவற்றைச் செய்யும்போது துருவ வடிவத்தின் உண்மையான சக்தி வெளிப்படுகிறது. ഈ செயல்பாடுகள் அவற்றின் செவ்வக எதிர்ப்பாளர்களுடன் ஒப்பிடும்போது கணிசமாக எளிமையாகின்றன.
துருவ வடிவத்தில் பெருக்கல்
துருவ வடிவத்தில் உள்ள இரண்டு சிக்கலான எண்களைப் பெருக்க, அவற்றின் தொகுதிகளைப் பெருக்கி அவற்றின் வாதங்களைச் சேர்க்கவும்.
சூத்திரம்:
z1 = r1(cos θ1 + i sin θ1) மற்றும் z2 = r2(cos θ2 + i sin θ2) எனில்,
z1 * z2 = (r1 * r2) * [cos(θ1 + θ2) + i sin(θ1 + θ2)]
Python இன் cmath
தொகுதிக்கு துருவ உள்ளீடுகளை எடுத்து துருவ முடிவுகளை ஒரு படியில் வழங்கும் நேரடியான பெருக்கல் செயல்பாடு இல்லை. நீங்கள் பொதுவாக செவ்வகத்திற்கு மாற்றி, பெருக்கி, பின்னர் தேவைப்பட்டால் திரும்ப மாற்ற வேண்டும், அல்லது தர்க்கத்தை கைமுறையாக செயல்படுத்த வேண்டும்.
import cmath
z1_rect = 2 + 3j
z2_rect = 1 - 5j
# Convert to polar
r1, theta1 = cmath.polar(z1_rect)
r2, theta2 = cmath.polar(z2_rect)
# Perform multiplication in polar domain
product_r = r1 * r2
product_theta = theta1 + theta2
# Convert the result back to rectangular
product_rect_polar_method = cmath.rect(product_r, product_theta)
# For comparison, direct multiplication in rectangular form
product_rect_direct = z1_rect * z2_rect
print(f"z1 = {z1_rect}, Polar: r={r1:.2f}, theta={cmath.degrees(theta1):.2f} deg")
print(f"z2 = {z2_rect}, Polar: r={r2:.2f}, theta={cmath.degrees(theta2):.2f} deg")
print(f"Product (Polar Method): {product_rect_polar_method}")
print(f"Product (Direct Method): {product_rect_direct}")
# Note: Small floating-point differences might occur
துருவ வடிவத்தில் பிரிவு
துருவ வடிவத்தில் உள்ள இரண்டு சிக்கலான எண்களைப் பிரிக்க, அவற்றின் தொகுதிகளைப் பிரித்து அவற்றின் வாதங்களைக் கழிக்கவும் (தொகுதியின் வாதம் கழித்தல் வகுப்பின் வாதம்).
சூத்திரம்:
z1 = r1(cos θ1 + i sin θ1) மற்றும் z2 = r2(cos θ2 + i sin θ2) எனில்,
z1 / z2 = (r1 / r2) * [cos(θ1 - θ2) + i sin(θ1 - θ2)]
import cmath
z1_rect = 2 + 3j
z2_rect = 1 - 5j
# Convert to polar
r1, theta1 = cmath.polar(z1_rect)
r2, theta2 = cmath.polar(z2_rect)
# Perform division in polar domain
quotient_r = r1 / r2
quotient_theta = theta1 - theta2
# Convert the result back to rectangular
quotient_rect_polar_method = cmath.rect(quotient_r, quotient_theta)
# For comparison, direct division in rectangular form
quotient_rect_direct = z1_rect / z2_rect
print(f"Quotient (Polar Method): {quotient_rect_polar_method}")
print(f"Quotient (Direct Method): {quotient_rect_direct}")
அடுக்கு விரிவாக்கம் (டி மொய்வரின் தேற்றம்)
துருவ வடிவத்தில் உள்ள ஒரு சிக்கலான எண்ணை முழு எண் சக்திக்கு உயர்த்துவது டி மொய்வரின் தேற்றத்தால் எளிமைப்படுத்தப்படுகிறது:
சூத்திரம்:
[r(cos θ + i sin θ)]ⁿ = rⁿ(cos(nθ) + i sin(nθ))
சிக்கலான எண்களின் மூலங்களை கணக்கிடுவதற்கும் பல்லுறுப்புக்கோவை சமன்பாடுகளைத் தீர்ப்பதற்கும் இந்த தேற்றம் நம்பமுடியாத அளவிற்கு பயனுள்ளதாக இருக்கிறது. சிக்கலான சக்திகளுக்கு, இது மடக்கைகளைப் பயன்படுத்தி விரிவடைகிறது.
import cmath
z_rect = 1 + 1j
# Convert to polar
r, theta = cmath.polar(z_rect)
n = 5 # The power
# Calculate z^n using De Moivre's Theorem
hesized_r = r ** n
hesized_theta = n * theta
# Convert the result back to rectangular
hesized_rect_polar_method = cmath.rect(hesized_r, hesized_theta)
# For comparison, direct exponentiation in Python
hesized_rect_direct = z_rect ** n
print(f"z = {z_rect}, Polar: r={r:.2f}, theta={cmath.degrees(theta):.2f} deg")
print(f"{z_rect}^{n} (Polar Method): {hesized_rect_polar_method}")
print(f"{z_rect}^{n} (Direct Method): {hesized_rect_direct}")
# Calculating roots (e.g., cube root, n=1/3)
n_root = 1/3
r_root = r ** n_root
theta_root_principal = n_root * theta
# The principal root
principal_root = cmath.rect(r_root, theta_root_principal)
print(f"Principal cube root of {z_rect}: {principal_root}")
# Note: For roots, there are 'n' distinct values. De Moivre's theorem applied directly
# usually gives the principal root. To find all roots, you'd add multiples of 2*pi/n to the angle.
for k in range(3):
current_angle = (theta + 2 * cmath.pi * k) / 3
root_k = cmath.rect(r_root, current_angle)
print(f"Cube root {k+1}: {root_k}")
cmath
இல் உள்ள பொதுவான சிக்கலான எண் செயல்பாடுகள்
cmath
தொகுதி சிக்கலான எண்களில் செயல்படும் பல மேம்பட்ட கணித செயல்பாடுகளை வழங்குகிறது, இதில் முக்கோணவியல், அதிபரவளையம் மற்றும் மடக்கை செயல்பாடுகள் அடங்கும்.
cmath.sqrt(z)
: சிக்கலான எண்ணின் சதுர மூலத்தை கணக்கிடுகிறது. പ്രധാന சதுര மூலத்தை வழங்குகிறது.cmath.exp(z)
: e ஐ z இன் சக்திக்கு உயர்த்துகிறது.cmath.log(z[, base])
: z இன் மடக்கையை கணக்கிடுகிறது.base
குறிப்பிடப்பட்டால், அந்த അടിസ്ഥാനத்துடன் மடக்கையை கணக்கிடுகிறது. இல்லையெனில், அது இயற்கையான மடக்கையை கணக்கிடுகிறது.cmath.sin(z)
,cmath.cos(z)
,cmath.tan(z)
: சிக்கலான எண்களுக்கான முக்கோணவியல் செயல்பாடுகள்.cmath.sinh(z)
,cmath.cosh(z)
,cmath.tanh(z)
: சிக்கலான எண்களுக்கான அதிபரவளைய செயல்பாடுகள்.
import cmath
z = 1 + 1j
# Square root
print(f"sqrt({z}) = {cmath.sqrt(z)}")
# Exponential
print(f"exp({z}) = {cmath.exp(z)}")
# Natural logarithm
print(f"log({z}) = {cmath.log(z)}")
# Sine
print(f"sin({z}) = {cmath.sin(z)}")
சிக்கலான எண்களின் பயன்பாடுகள்
சிக்கலான எண்கள் மற்றும் அவற்றின் துருவ பிரதிநிதித்துவம், ஏராளமான அறிவியல் மற்றும் பொறியியல் துறைகளில் இன்றியமையாதது:
- மின் பொறியியல்: AC சர்க்யூட் பகுப்பாய்வு, மின்மறுப்பு மற்றும் சிக்னல் செயலாக்கத்தில் பரவலாகப் பயன்படுத்தப்படுகிறது. துருவ வடிவம் மாறிவரும் மின்னோட்டங்கள் மற்றும் மின்னழுத்தங்களின் அளவு மற்றும் கட்டத்தை விவரிக்க இயற்கையானது.
- சிக்னல் செயலாக்கம்: சிக்னல்களை அவற்றின் கூறுகளின் அதிர்வெண்களாக சிதைக்கும் ஃபோரியர் உருமாற்றங்கள், துருவ வடிவத்தில் இயற்கையாக வெளிப்படுத்தப்படும் சிக்கலான அடுக்கு விரிவாக்கங்களை (eiωt) பெரிதும் நம்பியுள்ளன.
- குவாண்டம் இயக்கவியல்: குவாண்டம் இயக்கவியலின் அடிப்படை சமன்பாடுகள், ஷ்ரோடிங்கர் சமன்பாடு போன்ற சிக்கலான அலை செயல்பாடுகளை உள்ளடக்கியது.
- கட்டுப்பாட்டு அமைப்புகள்: சிஸ்டம் நிலைப்புத்தன்மையையும் அதிர்வெண் பதிலையும் பகுப்பாய்வு செய்வது பெரும்பாலும் லாப்லேஸ் களத்தில் சிக்கலான எண்களை உள்ளடக்கியது.
- திரவ இயக்கவியல்: திரவ இயக்கவியலில் உள்ள சில சிக்கல்களை சிக்கலான ஆற்றல் கோட்பாட்டைப் பயன்படுத்தி எளிதாக்கலாம்.
- ஃப்ராக்டல் வடிவியல்: மேண்டல்பிரோட் கணம் போன்ற ஃப்ராக்டல்கள் சிக்கலான செயல்பாடுகளை மீண்டும் செய்வதன் மூலம் உருவாக்கப்படுகின்றன.
உலகளாவிய எடுத்துக்காட்டு: ஆடியோ செயலாக்கத்தில் ஃபோரியர் உருமாற்றம்
உலகளவில் ஆடியோ சிக்னல் செயலாக்கத்தை கருத்தில் கொள்ளுங்கள். ஒலி அலையை பகுப்பாய்வு செய்யும் போது, பொறியாளர்களும் தரவு விஞ்ஞானிகளும் தனித்துவமான ஃபோரியர் உருமாற்றத்தை (DFT) அல்லது அதன் திறமையான செயலாக்கமான ஃபாஸ்ட் ஃபோரியர் உருமாற்றத்தைப் (FFT) பயன்படுத்துகின்றனர். DFT ஒரு நேர கள சிக்னலை (ஒலி அழுத்தம் காலப்போக்கில் எவ்வாறு மாறுகிறது) அதன் அதிர்வெண் கள பிரதிநிதித்துவமாக மாற்றுகிறது. இந்த பிரதிநிதித்துவம் சிக்கலான எண்களின் தொடர் ஆகும், அங்கு ஒவ்வொரு சிக்கலான எண்ணும் ஒரு குறிப்பிட்ட அதிர்வெண்ணுக்கு ஒத்திருக்கும். சிக்கலான எண்ணின் அளவு அந்த அதிர்வெண் கூறின் வீச்சுக்கு (உரத்தன்மை) குறிக்கிறது, மற்றும் அதன் வாதம் (கோணம்) அதன் கட்டத்தைக் குறிக்கிறது. இது சத்தம் குறைத்தல், சமன்பாடு மற்றும் இசை தொகுப்பு போன்ற பணிகளுக்கு அனுமதிக்கிறது, அவை உலகளாவிய ஆடியோ தயாரிப்பு மற்றும் பகுப்பாய்வில் தரநிலையாக உள்ளன.
Python இல் சிக்கலான எண்களைப் பயன்படுத்துவதற்கான சிறந்த நடைமுறைகள்
- சரியான படிவத்தைத் தேர்ந்தெடுக்கவும்: அடிப்படை எண்கணிதத்திற்கு (கூட்டல், கழித்தல்), செவ்வக வடிவம் பெரும்பாலும் எளிமையானது. பெருக்கல், பிரிவு மற்றும் அடுக்குப் பெருக்கல் / மூலங்களுக்கு, குறிப்பாக கோணங்கள் மற்றும் சுழற்சிகளை உள்ளடக்கியது, துருவ வடிவம் (அல்லது இதை சுருக்கமாகக் கூறும்
cmath
செயல்பாடுகளைப் பயன்படுத்துவது) பொதுவாக அதிக திறமையானதாகவும் கருத்தியல் ரீதியாக தெளிவாகவும் இருக்கும். cmath
ஐப் பயன்படுத்தவும்: அடிப்படை எண்கணிதத்திற்கு அப்பால் சிக்கலான எண் கணிதத்திற்கு எப்போதும்cmath
தொகுதியைப் பயன்படுத்தவும். இது விளிம்பு நிகழ்வுகளைக் கையாளுகிறது மற்றும் மேம்பட்ட செயல்பாடுகளை நம்பகத்தன்மையுடன் வழங்குகிறது.- மிதக்கும் புள்ளி துல்லியத்தை கவனத்தில் கொள்ளுங்கள்: அனைத்து மிதக்கும் புள்ளி கணக்கீடுகளைப் போலவே, சிக்கலான எண்களை உள்ளடக்கிய முடிவுகளிலும் சிறிய துல்லிய பிழைகள் இருக்கலாம். சிக்கலான எண்களை சரியான சமத்துவத்திற்காக ஒப்பிடும்போது கவனமாக இருங்கள்.
- ரேடியன்களைப் புரிந்து கொள்ளுங்கள்: Python இன்
math
மற்றும்cmath
தொகுதிகளில் உள்ள முக்கோணவியல் செயல்பாடுகள் ரேடியன்களுடன் செயல்படுகின்றன. உங்கள் கோணங்கள் சரியான அலகுக்கு இருப்பதை உறுதிப்படுத்தவும். - கோணங்களுக்கு `atan2` ஐப் பயன்படுத்தவும்: वास्तविक மற்றும் கற்பனைப் பகுதிகளிலிருந்து வாதத்தை கைமுறையாகக் கணக்கிடும்போது, துல்லியமான காலாண்டு தீர்மானத்திற்கு
math.atan2(imaginary, real)
அல்லதுcmath.phase(complex_number)
ஐப் பயன்படுத்தவும்.
முடிவுரை
சக்திவாய்ந்த cmath
தொகுதியுடன் இணைந்துள்ள Python இன் சிக்கலான எண்களுக்கான உள்ளமைக்கப்பட்ட ஆதரவு, பரந்த அளவிலான கணித மற்றும் அறிவியல் சவால்களை எதிர்கொள்வதற்கான ஒரு விரிவான கருவித்தொகுப்பை வழங்குகிறது. நீங்கள் நேரடியான இயற்கணித கையாளுதல்களைச் செய்கிறீர்களோ அல்லது சுழற்சி மற்றும் அளவிடுதல் போன்ற செயல்பாடுகளுக்கான துருவ ஒருங்கிணைப்புகளின் நேர்த்தியான உலகில் நுழைகிறீர்களோ, Python உங்களுக்கு தெளிவு மற்றும் செயல்திறன் அளிக்கிறது.
செவ்வக மற்றும் துருவ வடிவங்களுக்கு இடையிலான தொடர்பைப் புரிந்துகொள்வதன் மூலமும், நிலையான நூலகத்தால் வழங்கப்படும் செயல்பாடுகளை விவேகத்துடன் பயன்படுத்துவதன் மூலமும், டெவலப்பர்களும் ஆராய்ச்சியாளர்களும் தொலைத்தொடர்பு மற்றும் விண்வெளி முதல் நிதி மாதிரி மற்றும் குவாண்டம் கணினி வரை உலகளவில் புதிய சாத்தியங்களைத் திறக்க முடியும். இந்த கருத்துக்களைப் புரிந்துகொள்வது பெருகிய முறையில் சிக்கலான மற்றும் ஒன்றோடொன்று இணைக்கப்பட்ட உலகில் உங்கள் சிக்கலைத் தீர்க்கும் திறன்களை சந்தேகத்திற்கு இடமின்றி மேம்படுத்தும்.